using System;
using System.Collections.Generic;
using System.Text;

namespace MakeIT.SGI.ERP.Entidades
{
	public class ProdutoatributoVO
	{
		// Impedir o uso de new para esta classe
		protected ProdutoatributoVO() { }

		// Cria uma instancia desta classe
		public static ProdutoatributoVO CreateVO()
		{
			ProdutoatributoVO produtoatributo = new ProdutoatributoVO();
			produtoatributo.idProdutoVO = ProdutoVO.CreateVO();
			return produtoatributo;
		}
		public static ProdutoatributoVO CreateVO(int idProdutoAtributo, string atributo)
		{
			ProdutoatributoVO obj = CreateVO();
			obj.idProdutoAtributo = idProdutoAtributo;
			obj.atributo = atributo;
			return obj;
		}
		// Descrição amigavel do conteudo deste objeto
		public override string ToString()
		{
			return (idProdutoAtributo!=null?idProdutoAtributo.ToString():"") + "-" + (atributo!=null?atributo.ToString():"");
		}
		// Retorna PK concatenada com ";"
		public string PKString
		{
			get { return idProdutoAtributo.ToString(); }
		}

		#region MEMBROS DA CLASSE
		public int idProdutoAtributo
		{
			get { return this._idProdutoAtributo; }
			set { this._idProdutoAtributo = value; }
		}
		private int _idProdutoAtributo;
		public int idProduto
		{
			get { return this._idProduto; }
			set { this._idProduto = value; 
			      if(value!=null) this.idProdutoVO.idProduto = (int)value; }
		}
		private int _idProduto;
		public string atributo
		{
			get { return this._atributo; }
			set { this._atributo = value; }
		}
		private string _atributo;
		public string valor
		{
			get { return this._valor; }
			set { this._valor = value; }
		}
		private string _valor;
		public DateTime cadastro
		{
			get { return this._Cadastro; }
			set { this._Cadastro = value; }
		}
		private DateTime _Cadastro;
		public string cadastradoPor
		{
			get { return this._CadastradoPor; }
			set { this._CadastradoPor = value; }
		}
		private string _CadastradoPor;
		public DateTime edicao
		{
			get { return this._Edicao; }
			set { this._Edicao = value; }
		}
		private DateTime _Edicao;
		public string editadoPor
		{
			get { return this._EditadoPor; }
			set { this._EditadoPor = value; }
		}
		private string _EditadoPor;
		public ProdutoVO idProdutoVO
		{
			get { return this._idProdutoVO; }
			set { this._idProdutoVO = value; }
		}
		private ProdutoVO _idProdutoVO;
		#endregion
	}
}
